package Test03;

//方法引用：引用静态方法
/*
    练习:
       集合中有以下数字，要求把他们都变成int类型"1" "2" "3" "4" "5"
 */

import java.util.ArrayList;
import java.util.Collections;
import java.util.function.Function;

public class Test02 {
    public static void main(String[] args) {

        //1、创建一个集合
        ArrayList<String> list = new ArrayList<>();
        Collections.addAll(list, "1", "2", "3", "4", "5");

        /*//2、常规方法
        ArrayList<Integer> list2 = new ArrayList<>();
        for (String s : list) {
            int i = Integer.parseInt(s);
            list2.add(i);
        }*/

        //2、方法引用：把他们变成int类型
        list.stream().map(new Function<String, Integer>() {
            @Override
            public Integer apply(String s) {
                return Integer.parseInt(s);
            }
        }).forEach(s -> System.out.println(s));

        System.out.println("-------");

        //1.方法需要已经存在
        //2.方法的形参和返回值需要跟抽象方法的形参和返回值保持一致
        //3.方法的功能需要把形参的字符串转换成整数

        list.stream()
                .map(Integer::parseInt)
                .forEach(s -> System.out.println(s));
    }
}
